<?php
if (!function_exists('str2arr')) {
    /**
     * 字符串转数组
     * @param string $text 待转内容
     * @param string $separ 分隔字符
     * @param null|array $allow 限定规则
     * @return array
     */
    function str2arr(string $text, string $separ = ',', ?array $allow = null): array
    {
        $text = trim($text, $separ);
        $data = strlen($text) ? explode($separ, $text) : [];
        if (is_array($allow)) foreach ($data as $key => $item) {
            if (!in_array($item, $allow)) unset($data[$key]);
        }
        return $data;
    }
}

if (!function_exists('arr2str')) {
    /**
     * 数组转字符串
     * @param array $data 待转数组
     * @param string $separ 分隔字符
     * @param null|array $allow 限定规则
     * @return string
     */
    function arr2str(array $data, string $separ = ',', ?array $allow = null)
    {
        if (is_array($allow)) foreach ($data as $key => $item) {
            if (!in_array($item, $allow)) unset($data[$key]);
        }
        return $separ . join($separ, $data) . $separ;
    }
}
